﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using UnityEngine;
using UnityEngine.SceneManagement;

// Token: 0x020005B4 RID: 1460
public class AssetBundleManager : global::Singleton<global::AssetBundleManager>
{
	// Token: 0x170003A5 RID: 933
	// (get) Token: 0x06002263 RID: 8803 RVA: 0x001371F8 File Offset: 0x001353F8
	public static string BaseDownloadingURL
	{
		get
		{
			return global::AssetBundleManager.m_BaseDownloadingURL;
		}
	}

	// Token: 0x170003A6 RID: 934
	// (get) Token: 0x06002264 RID: 8804 RVA: 0x00137200 File Offset: 0x00135400
	// (set) Token: 0x06002265 RID: 8805 RVA: 0x0013720C File Offset: 0x0013540C
	public static string[] Variants
	{
		get
		{
			return global::AssetBundleManager.MainBundle.Variants;
		}
		set
		{
			global::AssetBundleManager.MainBundle.Variants = value;
		}
	}

	// Token: 0x06002266 RID: 8806 RVA: 0x0013721C File Offset: 0x0013541C
	public static void ManifestAdd(string manifestAssetBundleName)
	{
		if (global::AssetBundleManager.m_ManifestBundlePack.ContainsKey(manifestAssetBundleName))
		{
			return;
		}
		global::AssetBundleManager.BundlePack bundlePack = new global::AssetBundleManager.BundlePack();
		global::AssetBundleManager.m_ManifestBundlePack.Add(manifestAssetBundleName, bundlePack);
		global::LoadedAssetBundle loadedAssetBundle = global::AssetBundleManager.LoadAssetBundle(manifestAssetBundleName, false, manifestAssetBundleName);
		if (loadedAssetBundle == null)
		{
			global::AssetBundleManager.m_ManifestBundlePack.Remove(manifestAssetBundleName);
			return;
		}
		global::AssetBundleLoadAssetOperationSimulation assetBundleLoadAssetOperationSimulation = new global::AssetBundleLoadAssetOperationSimulation(loadedAssetBundle.m_AssetBundle.LoadAsset("AssetBundleManifest", typeof(AssetBundleManifest)));
		bundlePack.AssetBundleManifest = assetBundleLoadAssetOperationSimulation.GetAsset<AssetBundleManifest>();
	}

	// Token: 0x170003A7 RID: 935
	// (get) Token: 0x06002267 RID: 8807 RVA: 0x00137294 File Offset: 0x00135494
	public static Dictionary<string, global::AssetBundleManager.BundlePack> ManifestBundlePack
	{
		get
		{
			return global::AssetBundleManager.m_ManifestBundlePack;
		}
	}

	// Token: 0x170003A8 RID: 936
	// (get) Token: 0x06002268 RID: 8808 RVA: 0x0013729C File Offset: 0x0013549C
	public static float Progress
	{
		get
		{
			int num = global::AssetBundleManager.MainBundle.LoadedAssetBundles.Count;
			float num2 = (float)num;
			foreach (global::AssetBundleCreate assetBundleCreate in global::AssetBundleManager.MainBundle.CreateAssetBundles.Values)
			{
				num++;
				num2 += assetBundleCreate.m_CreateRequest.progress;
			}
			return (num != 0) ? (num2 / (float)num) : 1f;
		}
	}

	// Token: 0x06002269 RID: 8809 RVA: 0x00137334 File Offset: 0x00135534
	public static global::LoadedAssetBundle GetLoadedAssetBundle(string assetBundleName, out string error, string manifestAssetBundleName = null)
	{
		global::AssetBundleManager.BundlePack bundlePack = global::AssetBundleManager.m_ManifestBundlePack[manifestAssetBundleName ?? global::AssetBundleManager.MainManifestAssetBundleName];
		if (bundlePack.DownloadingErrors.TryGetValue(assetBundleName, out error))
		{
			return null;
		}
		global::LoadedAssetBundle loadedAssetBundle = null;
		bundlePack.LoadedAssetBundles.TryGetValue(assetBundleName, out loadedAssetBundle);
		if (loadedAssetBundle == null)
		{
			return null;
		}
		global::LoadedAssetBundleDependencies loadedAssetBundleDependencies = bundlePack.Dependencies.FirstOrDefault((global::LoadedAssetBundleDependencies p) => p.m_Key == assetBundleName);
		if (loadedAssetBundleDependencies == null)
		{
			return loadedAssetBundle;
		}
		foreach (string key in loadedAssetBundleDependencies.m_BundleNames)
		{
			if (bundlePack.DownloadingErrors.TryGetValue(assetBundleName, out error))
			{
				return loadedAssetBundle;
			}
			global::LoadedAssetBundle loadedAssetBundle2;
			bundlePack.LoadedAssetBundles.TryGetValue(key, out loadedAssetBundle2);
			if (loadedAssetBundle2 == null)
			{
				return null;
			}
		}
		return loadedAssetBundle;
	}

	// Token: 0x0600226A RID: 8810 RVA: 0x0013741C File Offset: 0x0013561C
	public static global::AssetBundleLoadOperation Initialize(string manifestAssetBundleName, string basePath)
	{
		if (global::AssetBundleManager.isInitialized)
		{
			return null;
		}
		global::AssetBundleManager.m_BaseDownloadingURL = basePath;
		global::AssetBundleManager.MainBundle = new global::AssetBundleManager.BundlePack();
		global::AssetBundleManager.MainManifestAssetBundleName = manifestAssetBundleName;
		global::AssetBundleManager.m_ManifestBundlePack.Add(manifestAssetBundleName, global::AssetBundleManager.MainBundle);
		foreach (string manifestAssetBundleName2 in global::InitAssetBundleOption.LoadManifestFiles())
		{
			global::AssetBundleManager.ManifestAdd(manifestAssetBundleName2);
		}
        var sb = new System.Text.StringBuilder();
        sb.AppendLine("Init manifest");
        foreach (string manifestAssetBundleName3 in from s in Directory.GetFiles(basePath, "*.*", SearchOption.TopDirectoryOnly)
		where string.IsNullOrEmpty(Path.GetExtension(s))
		select Path.GetFileNameWithoutExtension(s) into s
		where s != manifestAssetBundleName
		select s)
		{
            sb.AppendLine(manifestAssetBundleName3);
			global::AssetBundleManager.ManifestAdd(manifestAssetBundleName3);
		}
        UnityEngine.Debug.Log("manifest:" + sb.ToString());

        global::AssetBundleManager.isInitialized = true;
		GameObject gameObject = new GameObject("AssetBundleManager", new Type[]
		{
			typeof(global::AssetBundleManager)
		});
		//UnityEngine.Object.DontDestroyOnLoad(gameObject);
		global::AssetBundleLoadAssetOperationSimulation result = global::AssetBundleManager.LoadMainManifest(manifestAssetBundleName);
		global::InitAddComponent.AddComponents(gameObject);
		return result;
	}

	// Token: 0x0600226B RID: 8811 RVA: 0x0013758C File Offset: 0x0013578C
	public static global::AssetBundleLoadAssetOperationSimulation LoadMainManifest(string manifestAssetBundleName)
	{
		global::LoadedAssetBundle loadedAssetBundle = global::AssetBundleManager.LoadAssetBundle(manifestAssetBundleName, false, manifestAssetBundleName);
		global::AssetBundleLoadAssetOperationSimulation assetBundleLoadAssetOperationSimulation = new global::AssetBundleLoadAssetOperationSimulation(loadedAssetBundle.m_AssetBundle.LoadAsset("AssetBundleManifest", typeof(AssetBundleManifest)));
		global::AssetBundleManager.MainBundle.AssetBundleManifest = assetBundleLoadAssetOperationSimulation.GetAsset<AssetBundleManifest>();
		return assetBundleLoadAssetOperationSimulation;
	}

	// Token: 0x0600226C RID: 8812 RVA: 0x001375D4 File Offset: 0x001357D4
	protected static global::LoadedAssetBundle LoadAssetBundle(string assetBundleName, bool isAsync, string manifestAssetBundleName = null)
	{
		bool flag = assetBundleName == manifestAssetBundleName;
		if (!flag)
		{
			assetBundleName = global::AssetBundleManager.RemapVariantName(assetBundleName, manifestAssetBundleName);
		}
		if (!global::AssetBundleManager.LoadAssetBundleInternal(assetBundleName, isAsync, manifestAssetBundleName) && !flag)
		{
			global::AssetBundleManager.LoadDependencies(assetBundleName, isAsync, manifestAssetBundleName);
		}
		string text;
		return global::AssetBundleManager.GetLoadedAssetBundle(assetBundleName, out text, manifestAssetBundleName);
	}

	// Token: 0x0600226D RID: 8813 RVA: 0x00137624 File Offset: 0x00135824
	protected static string RemapVariantName(string assetBundleName, string manifestAssetBundleName = null)
	{
		global::AssetBundleManager.BundlePack bundlePack = global::AssetBundleManager.m_ManifestBundlePack[manifestAssetBundleName ?? global::AssetBundleManager.MainManifestAssetBundleName];
		string[] allAssetBundlesWithVariant = bundlePack.AssetBundleManifest.GetAllAssetBundlesWithVariant();
		if (Array.IndexOf<string>(allAssetBundlesWithVariant, assetBundleName) < 0)
		{
			return assetBundleName;
		}
		string[] array = assetBundleName.Split(new char[]
		{
			'.'
		});
		int num = int.MaxValue;
		int num2 = -1;
		for (int i = 0; i < allAssetBundlesWithVariant.Length; i++)
		{
			string[] array2 = allAssetBundlesWithVariant[i].Split(new char[]
			{
				'.'
			});
			if (!(array2[0] != array[0]))
			{
				int num3 = Array.IndexOf<string>(bundlePack.Variants, array2[1]);
				if (num3 != -1 && num3 < num)
				{
					num = num3;
					num2 = i;
				}
			}
		}
		if (num2 != -1)
		{
			return allAssetBundlesWithVariant[num2];
		}
		return assetBundleName;
	}

	// Token: 0x0600226E RID: 8814 RVA: 0x001376FC File Offset: 0x001358FC
	protected static bool LoadAssetBundleInternal(string assetBundleName, bool isAsync, string manifestAssetBundleName = null)
	{
		global::AssetBundleManager.BundlePack bundlePack = global::AssetBundleManager.m_ManifestBundlePack[manifestAssetBundleName ?? global::AssetBundleManager.MainManifestAssetBundleName];
		global::LoadedAssetBundle loadedAssetBundle = null;
		bundlePack.LoadedAssetBundles.TryGetValue(assetBundleName, out loadedAssetBundle);
		if (loadedAssetBundle != null)
		{
			loadedAssetBundle.m_ReferencedCount++;
			return true;
		}
		global::AssetBundleCreate assetBundleCreate = null;
		bundlePack.CreateAssetBundles.TryGetValue(assetBundleName, out assetBundleCreate);
		if (assetBundleCreate != null)
		{
			assetBundleCreate.m_ReferencedCount++;
			return true;
		}
		string path = global::AssetBundleManager.BaseDownloadingURL + assetBundleName;
		if (!isAsync)
		{
			bundlePack.LoadedAssetBundles.Add(assetBundleName, new global::LoadedAssetBundle(assetBundleName, AssetBundle.LoadFromFile(path)));
		}
		else
		{
			bundlePack.CreateAssetBundles.Add(assetBundleName, new global::AssetBundleCreate(AssetBundle.LoadFromFileAsync(path)));
		}
		return false;
	}

	// Token: 0x0600226F RID: 8815 RVA: 0x001377B8 File Offset: 0x001359B8
	protected static void LoadDependencies(string assetBundleName, bool isAsync, string manifestAssetBundleName = null)
	{
		manifestAssetBundleName = (manifestAssetBundleName ?? global::AssetBundleManager.MainManifestAssetBundleName);
		global::AssetBundleManager.BundlePack bundlePack = global::AssetBundleManager.m_ManifestBundlePack[manifestAssetBundleName];
		if (object.ReferenceEquals(bundlePack.AssetBundleManifest, null))
		{
			global::Debug.LogError("Please initialize AssetBundleManifest by calling AssetBundleManager.Initialize()");
			return;
		}
		string[] allDependencies = bundlePack.AssetBundleManifest.GetAllDependencies(assetBundleName);
		if (allDependencies.Length == 0)
		{
			return;
		}
		for (int i = 0; i < allDependencies.Length; i++)
		{
			allDependencies[i] = global::AssetBundleManager.RemapVariantName(allDependencies[i], manifestAssetBundleName);
		}
		global::LoadedAssetBundleDependencies loadedAssetBundleDependencies = bundlePack.Dependencies.FirstOrDefault((global::LoadedAssetBundleDependencies p) => p.m_Key == assetBundleName);
		if (loadedAssetBundleDependencies != null)
		{
			loadedAssetBundleDependencies.m_ReferencedCount++;
		}
		else
		{
			bundlePack.Dependencies.Add(new global::LoadedAssetBundleDependencies(assetBundleName, allDependencies));
		}
        var sb = new System.Text.StringBuilder();
        sb.AppendLine("LoadDependencies.............");
        for (int j = 0; j < allDependencies.Length; j++)
		{
			global::AssetBundleManager.LoadAssetBundleInternal(allDependencies[j], isAsync, manifestAssetBundleName);
            sb.AppendLine(allDependencies[j] + " manifest:" + manifestAssetBundleName);
		}
        UnityEngine.Debug.Log(sb);
	}

	// Token: 0x06002270 RID: 8816 RVA: 0x001378C0 File Offset: 0x00135AC0
	public static void UnloadAssetBundle(string assetBundleName, bool isUnloadForce = true, string manifestAssetBundleName = null)
	{
		manifestAssetBundleName = (manifestAssetBundleName ?? global::AssetBundleManager.MainManifestAssetBundleName);
		bool flag = global::AssetBundleManager.UnloadBundle(assetBundleName, isUnloadForce, manifestAssetBundleName);
		if (flag)
		{
			global::AssetBundleManager.BundlePack bundlePack = global::AssetBundleManager.m_ManifestBundlePack[manifestAssetBundleName];
			global::LoadedAssetBundleDependencies loadedAssetBundleDependencies = bundlePack.Dependencies.FirstOrDefault((global::LoadedAssetBundleDependencies p) => p.m_Key == assetBundleName);
			if (loadedAssetBundleDependencies != null && --loadedAssetBundleDependencies.m_ReferencedCount == 0)
			{
				foreach (string assetBundleName2 in loadedAssetBundleDependencies.m_BundleNames)
				{
					global::AssetBundleManager.UnloadBundle(assetBundleName2, false, manifestAssetBundleName);
				}
				bundlePack.Dependencies.Remove(loadedAssetBundleDependencies);
			}
		}
	}

	// Token: 0x06002271 RID: 8817 RVA: 0x00137980 File Offset: 0x00135B80
	public static bool UnloadBundle(string assetBundleName, bool isUnloadForce, string manifestAssetBundleName = null)
	{
		global::AssetBundleManager.BundlePack bundlePack = global::AssetBundleManager.m_ManifestBundlePack[manifestAssetBundleName ?? global::AssetBundleManager.MainManifestAssetBundleName];
		string text;
		if (bundlePack.DownloadingErrors.TryGetValue(assetBundleName, out text))
		{
			return false;
		}
		global::LoadedAssetBundle loadedAssetBundle = null;
		bundlePack.LoadedAssetBundles.TryGetValue(assetBundleName, out loadedAssetBundle);
		if (loadedAssetBundle == null)
		{
			return false;
		}
		if (--loadedAssetBundle.m_ReferencedCount == 0 || isUnloadForce)
		{
			if (loadedAssetBundle.m_AssetBundle)
			{
				loadedAssetBundle.m_AssetBundle.Unload(false);
			}
			bundlePack.LoadedAssetBundles.Remove(assetBundleName);
			return true;
		}
		return false;
	}

	// Token: 0x06002272 RID: 8818 RVA: 0x00137A1C File Offset: 0x00135C1C
	public virtual void Update()
	{
		List<string> list = new List<string>();
		foreach (global::AssetBundleManager.BundlePack bundlePack in global::AssetBundleManager.m_ManifestBundlePack.Values)
		{
			foreach (KeyValuePair<string, global::AssetBundleCreate> keyValuePair in bundlePack.CreateAssetBundles)
			{
				AssetBundleCreateRequest createRequest = keyValuePair.Value.m_CreateRequest;
				if (createRequest.isDone)
				{
					global::LoadedAssetBundle loadedAssetBundle = new global::LoadedAssetBundle(keyValuePair.Key, createRequest.assetBundle);
					loadedAssetBundle.m_ReferencedCount = keyValuePair.Value.m_ReferencedCount;
					bundlePack.LoadedAssetBundles.Add(keyValuePair.Key, loadedAssetBundle);
					list.Add(keyValuePair.Key);
				}
			}
			foreach (string key in list)
			{
				bundlePack.CreateAssetBundles.Remove(key);
			}
			int i = 0;
			while (i < bundlePack.InProgressOperations.Count)
			{
				if (!bundlePack.InProgressOperations[i].Update())
				{
					bundlePack.InProgressOperations.RemoveAt(i);
				}
				else
				{
					i++;
				}
			}
		}
	}

	// Token: 0x06002273 RID: 8819 RVA: 0x00137BD4 File Offset: 0x00135DD4
	public static global::AssetBundleLoadAssetOperation LoadAsset(string assetBundleName, string assetName, Type type, string manifestAssetBundleName = null)
	{
		manifestAssetBundleName = (manifestAssetBundleName ?? global::AssetBundleManager.MainManifestAssetBundleName);
		global::AssetBundleManager.BundlePack bundlePack = global::AssetBundleManager.m_ManifestBundlePack[manifestAssetBundleName];
		global::AssetBundleLoadAssetOperation assetBundleLoadAssetOperation = null;
		if (assetBundleLoadAssetOperation == null)
		{
			global::AssetBundleManager.LoadAssetBundle(assetBundleName, false, manifestAssetBundleName);
			assetBundleLoadAssetOperation = new global::AssetBundleLoadAssetOperationSimulation(bundlePack.LoadedAssetBundles[assetBundleName].m_AssetBundle.LoadAsset(assetName, type));
		}
		return assetBundleLoadAssetOperation;
	}

	// Token: 0x06002274 RID: 8820 RVA: 0x00137C2C File Offset: 0x00135E2C
	public static global::AssetBundleLoadAssetOperation LoadAssetAsync(string assetBundleName, string assetName, Type type, string manifestAssetBundleName = null)
	{
		manifestAssetBundleName = (manifestAssetBundleName ?? global::AssetBundleManager.MainManifestAssetBundleName);
		global::AssetBundleManager.BundlePack bundlePack = global::AssetBundleManager.m_ManifestBundlePack[manifestAssetBundleName];
		global::AssetBundleLoadAssetOperation assetBundleLoadAssetOperation = null;
		if (assetBundleLoadAssetOperation == null)
		{
			global::AssetBundleManager.LoadAssetBundle(assetBundleName, true, manifestAssetBundleName);
			assetBundleLoadAssetOperation = new global::AssetBundleLoadAssetOperationFull(assetBundleName, assetName, type, manifestAssetBundleName);
			bundlePack.InProgressOperations.Add(assetBundleLoadAssetOperation);
		}
		return assetBundleLoadAssetOperation;
	}

	// Token: 0x06002275 RID: 8821 RVA: 0x00137C7C File Offset: 0x00135E7C
	public static global::AssetBundleLoadAssetOperation LoadAllAsset(string assetBundleName, Type type, string manifestAssetBundleName = null)
	{
		manifestAssetBundleName = (manifestAssetBundleName ?? global::AssetBundleManager.MainManifestAssetBundleName);
		global::AssetBundleManager.BundlePack bundlePack = global::AssetBundleManager.m_ManifestBundlePack[manifestAssetBundleName];
		global::AssetBundleLoadAssetOperation assetBundleLoadAssetOperation = null;
		if (assetBundleLoadAssetOperation == null)
		{
			global::AssetBundleManager.LoadAssetBundle(assetBundleName, false, manifestAssetBundleName);
			assetBundleLoadAssetOperation = new global::AssetBundleLoadAssetOperationSimulation(bundlePack.LoadedAssetBundles[assetBundleName].m_AssetBundle.LoadAllAssets(type));
		}
		return assetBundleLoadAssetOperation;
	}

	// Token: 0x06002276 RID: 8822 RVA: 0x00137CD4 File Offset: 0x00135ED4
	public static global::AssetBundleLoadAssetOperation LoadAllAssetAsync(string assetBundleName, Type type, string manifestAssetBundleName = null)
	{
		manifestAssetBundleName = (manifestAssetBundleName ?? global::AssetBundleManager.MainManifestAssetBundleName);
		global::AssetBundleManager.BundlePack bundlePack = global::AssetBundleManager.m_ManifestBundlePack[manifestAssetBundleName];
		global::AssetBundleLoadAssetOperation assetBundleLoadAssetOperation = null;
		if (assetBundleLoadAssetOperation == null)
		{
			global::AssetBundleManager.LoadAssetBundle(assetBundleName, true, manifestAssetBundleName);
			assetBundleLoadAssetOperation = new global::AssetBundleLoadAssetOperationFull(assetBundleName, null, type, manifestAssetBundleName);
			bundlePack.InProgressOperations.Add(assetBundleLoadAssetOperation);
		}
		return assetBundleLoadAssetOperation;
	}

	// Token: 0x06002277 RID: 8823 RVA: 0x00137D24 File Offset: 0x00135F24
	public static global::AssetBundleLoadOperation LoadLevel(string assetBundleName, string levelName, bool isAdditive, string manifestAssetBundleName = null)
	{
		manifestAssetBundleName = (manifestAssetBundleName ?? global::AssetBundleManager.MainManifestAssetBundleName);
		global::AssetBundleLoadOperation assetBundleLoadOperation = null;
		if (assetBundleLoadOperation == null)
		{
			global::AssetBundleManager.LoadAssetBundle(assetBundleName, false, manifestAssetBundleName);
			SceneManager.LoadScene(levelName, (!isAdditive) ? LoadSceneMode.Single : LoadSceneMode.Additive);
			assetBundleLoadOperation = new global::AssetBundleLoadLevelSimulationOperation();
		}
		return assetBundleLoadOperation;
	}

	// Token: 0x06002278 RID: 8824 RVA: 0x00137D6C File Offset: 0x00135F6C
	public static global::AssetBundleLoadOperation LoadLevelAsync(string assetBundleName, string levelName, bool isAdditive, string manifestAssetBundleName = null)
	{
		manifestAssetBundleName = (manifestAssetBundleName ?? global::AssetBundleManager.MainManifestAssetBundleName);
		global::AssetBundleManager.BundlePack bundlePack = global::AssetBundleManager.m_ManifestBundlePack[manifestAssetBundleName];
		global::AssetBundleLoadOperation assetBundleLoadOperation = null;
		if (assetBundleLoadOperation == null)
		{
			global::AssetBundleManager.LoadAssetBundle(assetBundleName, true, manifestAssetBundleName);
			assetBundleLoadOperation = new global::AssetBundleLoadLevelOperation(assetBundleName, levelName, isAdditive, manifestAssetBundleName);
			bundlePack.InProgressOperations.Add(assetBundleLoadOperation);
		}
		return assetBundleLoadOperation;
	}

	// Token: 0x04002B59 RID: 11097
	protected static string MainManifestAssetBundleName;

	// Token: 0x04002B5A RID: 11098
	public static global::AssetBundleManager.BundlePack MainBundle = null;

	// Token: 0x04002B5B RID: 11099
	protected static Dictionary<string, global::AssetBundleManager.BundlePack> m_ManifestBundlePack = new Dictionary<string, global::AssetBundleManager.BundlePack>();

	// Token: 0x04002B5C RID: 11100
	protected static string m_BaseDownloadingURL = string.Empty;

	// Token: 0x04002B5D RID: 11101
	protected static bool isInitialized = false;

	// Token: 0x020005B5 RID: 1461
	public class BundlePack
	{
		// Token: 0x170003A9 RID: 937
		// (get) Token: 0x0600227C RID: 8828 RVA: 0x00137E2C File Offset: 0x0013602C
		// (set) Token: 0x0600227D RID: 8829 RVA: 0x00137E34 File Offset: 0x00136034
		public string[] Variants
		{
			get
			{
				return this.m_Variants;
			}
			set
			{
				this.m_Variants = value;
			}
		}

		// Token: 0x170003AA RID: 938
		// (get) Token: 0x0600227E RID: 8830 RVA: 0x00137E40 File Offset: 0x00136040
		// (set) Token: 0x0600227F RID: 8831 RVA: 0x00137E48 File Offset: 0x00136048
		public AssetBundleManifest AssetBundleManifest
		{
			get
			{
				return this.m_AssetBundleManifest;
			}
			set
			{
				this.m_AssetBundleManifest = value;
			}
		}

		// Token: 0x170003AB RID: 939
		// (get) Token: 0x06002280 RID: 8832 RVA: 0x00137E54 File Offset: 0x00136054
		// (set) Token: 0x06002281 RID: 8833 RVA: 0x00137E5C File Offset: 0x0013605C
		public Dictionary<string, global::LoadedAssetBundle> LoadedAssetBundles
		{
			get
			{
				return this.m_LoadedAssetBundles;
			}
			set
			{
				this.m_LoadedAssetBundles = value;
			}
		}

		// Token: 0x170003AC RID: 940
		// (get) Token: 0x06002282 RID: 8834 RVA: 0x00137E68 File Offset: 0x00136068
		// (set) Token: 0x06002283 RID: 8835 RVA: 0x00137E70 File Offset: 0x00136070
		public Dictionary<string, global::AssetBundleCreate> CreateAssetBundles
		{
			get
			{
				return this.m_CreateAssetBundles;
			}
			set
			{
				this.m_CreateAssetBundles = value;
			}
		}

		// Token: 0x170003AD RID: 941
		// (get) Token: 0x06002284 RID: 8836 RVA: 0x00137E7C File Offset: 0x0013607C
		// (set) Token: 0x06002285 RID: 8837 RVA: 0x00137E84 File Offset: 0x00136084
		public Dictionary<string, string> DownloadingErrors
		{
			get
			{
				return this.m_DownloadingErrors;
			}
			set
			{
				this.m_DownloadingErrors = value;
			}
		}

		// Token: 0x170003AE RID: 942
		// (get) Token: 0x06002286 RID: 8838 RVA: 0x00137E90 File Offset: 0x00136090
		// (set) Token: 0x06002287 RID: 8839 RVA: 0x00137E98 File Offset: 0x00136098
		public List<global::AssetBundleLoadOperation> InProgressOperations
		{
			get
			{
				return this.m_InProgressOperations;
			}
			set
			{
				this.m_InProgressOperations = value;
			}
		}

		// Token: 0x170003AF RID: 943
		// (get) Token: 0x06002288 RID: 8840 RVA: 0x00137EA4 File Offset: 0x001360A4
		// (set) Token: 0x06002289 RID: 8841 RVA: 0x00137EAC File Offset: 0x001360AC
		public List<global::LoadedAssetBundleDependencies> Dependencies
		{
			get
			{
				return this.m_Dependencies;
			}
			set
			{
				this.m_Dependencies = value;
			}
		}

		// Token: 0x04002B60 RID: 11104
		protected string[] m_Variants = new string[0];

		// Token: 0x04002B61 RID: 11105
		protected AssetBundleManifest m_AssetBundleManifest;

		// Token: 0x04002B62 RID: 11106
		protected Dictionary<string, global::LoadedAssetBundle> m_LoadedAssetBundles = new Dictionary<string, global::LoadedAssetBundle>();

		// Token: 0x04002B63 RID: 11107
		protected Dictionary<string, global::AssetBundleCreate> m_CreateAssetBundles = new Dictionary<string, global::AssetBundleCreate>();

		// Token: 0x04002B64 RID: 11108
		protected Dictionary<string, string> m_DownloadingErrors = new Dictionary<string, string>();

		// Token: 0x04002B65 RID: 11109
		protected List<global::AssetBundleLoadOperation> m_InProgressOperations = new List<global::AssetBundleLoadOperation>();

		// Token: 0x04002B66 RID: 11110
		protected List<global::LoadedAssetBundleDependencies> m_Dependencies = new List<global::LoadedAssetBundleDependencies>();
	}
}
